package com.hhxy.http.test;


import com.hhxy.http.mapper.UserMapper;
import com.hhxy.http.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

public class Temp {
    @Test
    public void testSelect() throws Exception {
        //用户输入
        String username = "zhangsan";
        String password = "123";

        //将输入的数据封装道User对象中
        User user = new User();
        user.setUsername(username);
        user.setPassword(password);

        //使用Map集合进行参数传递
        Map map = new HashMap<>();
        map.put("user",user);

        //
        //1、加载MyBatis核心配置文件，获取SqlSessionFactory对象
        //1.1 确定Mybatis核心配置文件路径
        String resource = "./mybatis-config.xml";
        //1.2 从resources目录下读取MyBatis配置文件，获取InputStream对象
        InputStream is = Resources.getResourceAsStream(resource);
        //1.3 获取SqlSessionFactory对象
        SqlSessionFactory sqlSF = new SqlSessionFactoryBuilder().build(is);

        //2、获取SqlSession对象
        SqlSession sqlS = sqlSF.openSession();

        //3、执行SQL语句（使用Mapper代理）
        //3.1 获取Mapper接口对象
        UserMapper userMapper = sqlS.getMapper(UserMapper.class);

        /*----------------核心代码(其他的代码可以进行CV)-----------------*/
        //3,2 使用Mapper接口对象执行方法

        User user1 = userMapper.selectById(2);
        System.out.println(user1);



        //检测参数传递
//        User selectUser = userMapper.select(map);
        //输出检测
//        System.out.println(selectUser);
        /*--------------------------------------------------------------*/

        //4、释放资源
        sqlS.close();
    }
}
